#include <stdio.h>
#include <unistd.h>   // close 
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
void test()
{
   int fd1, fd2;
   char c;
   fd1 = open("foobar.txt", O_RDONLY, 0);
   fd2 = open("foobar.txt", O_RDONLY, 0);
   printf("fd1 = %d, fd2 = %d\n", fd1,fd2);
   read(fd2, &c, 1);
   printf("c = %c\n", c);

   dup2(fd2, fd1);
   printf("fd1 = %d, fd2 = %d\n", fd1,fd2);
   
   read(fd1, &c, 1);
   printf("fd1 = %d, fd2 = %d\n", fd1,fd2);
   
   printf("c = %c\n", c);
}
int main()
{
  test();
  //umask(0);
  //close(1);
  //int fd = open("file.txt", O_CREAT | O_RDWR, 0644);
  //if(fd < 0){
  //  perror("open error");
  //  return 1;
  //}
  ////close(1); //关闭显示器 stdout 
  //dup2(fd, 1); // 将 stdout重定向到 fd（file.txt）
  //printf("hello yumoz nice too meet you\n");
  //write(fd, "hello",6);
  //printf("hello yumoz printf\n");
  //fprintf(stdout, "hello yumoz fprintf\n");
 
  //fflush(stdout);
  //fflush(fd);
  //close(fd);
  
  //while(1){
  //  char buf[1024] = {0};
  //  ssize_t read_size = read(0, buf, sizeof(buf) - 1);
  //  if(read_size < 0){
  //    perror("read");
  //    break;
  //  }
  //  printf("%s", buf);
  //  fflush(stdout);
  //}
  //return 0;
  exit(0);
}
